The amount of data representing media information, for example, a still image or a video image, can be extremely large. Further, transmitting digital video information over communication networks can consume large amounts of bandwidth. The cost of transmitting data from one location to another is a function of bit rate, e.g. the number of bits transmitted per second. Typically, higher bit transfer rates are associated with increased costs. Higher bit rates can also progressively increase the required storage capacities of memory systems, thereby increasing storage costs. Thus, for a given desired quality level, it can be more cost effective to use fewer bits than more bits to store digital images and videos. It is thus desirable to compress media data for recording, transmitting, or storing.
In a typical compression scheme, achieving higher media quality requires usage of more bits, which can increase the cost of transmission and storage. The devices typically associated with compression include the encoder, decoder and codec. An encoder is a device capable of encoding (e.g., coding) (and sometimes decoding) digital media data. A decoder is a device capable of decoding digital media data. A codec is a device capable of coding and/or decoding digital media data. The term codec is derived from a combination of the terms code and decode, or the terms compress and decompress. A variety of codecs are commercially available. Generally speaking, for example, codec classifications include discrete cosine transfer (DCT) codecs, fractal codecs, and wavelet codecs. An encoder or codec, by encoding the digital media data, can reduce the number of bits required to transmit signals thereby reducing associated transmission costs.
DCT coefficients can be used by an encoder to transform an image frame from a spatial domain to a frequency domain. The DCT coefficients can represent quantized data (e.g., compressed data) for the image frame. Conventional DCT encoders can implement quantization of coefficients based on a rate-distortion ratio of the coefficients. For example, conventional DCT encoders can implement integer division to determine rate-distortion ratios of the coefficients. However, integer division is suboptimal for data compression efficiency. Moreover, a decision between skipping a macroblock (e.g., forcing all coefficients in the macroblock to zero) and encoding singular coefficients without considering effects of transformation and/or quantization can result in suboptimal compression efficiency and/or video quality.